As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to these users is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may vary with respect to the type of information handled; the methods for handling the information; the methods for processing, storing or communicating the information; the amount of information processed, stored, or communicated; and the speed and efficiency with which the information is processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include or comprise a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Many information handling systems utilize a redundant array of independent disks (RAID) for data storage. Many RAID systems divide and replicate data among multiple storage devices, such as hard drives, or other memory modules, such as dual in-line memory modules (DIMMs). Using a RAID-type data storage, an information handling system can achieve higher performance, greater reliability, and hold larger data volumes. RAID controllers may run on an input/output processor, either as a standalone device or integrated within a RAID On Chip (ROC). Because information handling system processors are very fast at processing data and storage devices are relatively slow by comparison, one feature that is common on these controllers is a write-back cache. A write-back cache accelerates writes from the host by giving the host processor an acknowledgement very quickly and posting the write to the storage devices as storage device response allows. An acknowledgement tells the host processor that the write to the storage device is complete even before the actual write to the storage device is complete. In doing so, the RAID controller accepts responsibility for ensuring the data is protected until it can save the data to the storage devices. To protect the data on the memory module during the event of a power loss between the time of the acknowledgment and the time of the actual writing of data to the storage device, RAID controllers generally have a battery-backed memory module that guarantees that the data is protected for approximately 72 hours.
To allow performance saturated processors to regain overhead to be used for other applications, offload technologies, such as TCP Offload Engine and RAID, controllers were developed. However, today many information handling system processors have multiple cores and future information handling system processors will likely continue increasing the number of cores in the processors. Therefore, the industry is trying to find new ways to take advantage of this trend. One new technology involves moving the RAID engine back to the host processor. This is described as host-based RAID.
In moving the RAID engine back onto the host, to perform a write-back, the host memory needs to have nonvolatile memory used for the write-back cache. A problem with this is that memory modules on the host CPU are much larger than a ROC RAID card's memory module. Therefore, to supply a battery to the memory module would require a battery that can be up to 10 times larger than the ones used on a RAID card. That would add significant cost, power, and real-estate to the final solution.